/*
 *	$Id: parser.h 121 2009-06-10 23:14:02Z wabsie $
 */

#ifndef _PARSER_H
#define	_PARSER_H

#include <string>		// STL string
#include <vector>		// STL vector
#include <sstream>		// STL stream
#include "matematik.h"	// matematik
#include "emobj.h"		// Em-objekt
#include "vizobj.h"		// Viz

using namespace std;	// STL-stuff ligger namespace 'std'


class vizobj;

class parser
{
public:
	parser(vizobj *_viz);

	void text2VIZ(vector<string>& linjer);
	static string trim(const string& arg, char remove = ' ');

private:
	void createVIZ(string emtype, vector<string>& args);
	static vector<string> split(const string &str, char delim);
	static skalar string2skalar(const string& str);
	static vektor<3> string2vektor(const string& str);

	vizobj *viz;
};

#endif	/* _PARSER_H */

